# $Id$
# Maintainer: Laurent Carlier <lordheavym@gmail.com>

pkgbase=vulkan-tools
pkgname=(vulkan-trace vulkan-extra-layers)
pkgver=1.0.57.0
pkgrel=1
arch=(i686 x86_64)
url="http://lunarg.com/"
license=('custom')
depends=()
makedepends=(git cmake wget python-lxml libxcb libxrandr imagemagick qt5-svg)
source=("vulkanTools-sdk-${pkgver}::https://github.com/LunarG/VulkanTools/archive/sdk-${pkgver}.tar.gz")
sha256sums=('b169d6f36676d3f8c7ce74a4f1a844e94c6429b2663f0953b69153a474f19c57')

build() {
  cd "${srcdir}/VulkanTools-sdk-${pkgver}"

  ./update_external_sources.sh --glslang --spirv-tools --jsoncpp

  rm -rf build ; mkdir build ; cd build
  cmake \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DCMAKE_INSTALL_SYSCONFDIR=/etc \
    -DCMAKE_INSTALL_DATADIR=/usr/share \
    -DCMAKE_SKIP_RPATH=True \
    -DBUILD_WSI_XCB_SUPPORT=On \
    -DBUILD_WSI_XLIB_SUPPORT=On \
    -DBUILD_WSI_WAYLAND_SUPPORT=On \
    -DBUILD_WSI_MIR_SUPPORT=Off \
    -DBUILD_TESTS=OFF \
    -DBUILD_DEMOS=OFF \
    -DBUILD_VIA=OFF \
    -DCMAKE_BUILD_TYPE=Release \
    ..
  make
}

package_vulkan-trace() {
  pkgdesc="Vulkan tracing and replaying tools"
  depends=(vulkan-icd-loader qt5-svg)
  groups=('vulkan-devel')
  
  cd "${srcdir}/VulkanTools-sdk-${pkgver}"
  
  [[ $CARCH == i686 ]] && suffix=32

  install -dm755 ${pkgdir}/usr/{bin,lib}
  install -dm755 ${pkgdir}/usr/share/licenses/${pkgname}
  install -dm755 ${pkgdir}/usr/share/vulkan/explicit_layer.d
  
  install -m755 build/vktrace/{vkreplay,vktrace}${suffix} ${pkgdir}/usr/bin/
  install -m755 build/vktrace/vktraceviewer${suffix} ${pkgdir}/usr/bin/
  install -m755 build/vktrace/libVkLayer_vktrace_layer${suffix}.so ${pkgdir}/usr/lib/

  sed 's@../vktrace/libVkLayer_vktrace_layer.so@libVkLayer_vktrace_layer'${suffix}'.so@'\
       vktrace/vktrace_layer/linux/VkLayer_vktrace_layer.json \
       > ${pkgdir}/usr/share/vulkan/explicit_layer.d/VkLayer_vktrace_layer.json
 
  install -m644 LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgname}/
}

package_vulkan-extra-layers() {
  pkgdesc="Extra layers for Vulkan development"
  depends=(vulkan-validation-layers)
  groups=('vulkan-devel')
  
  cd "${srcdir}/VulkanTools-sdk-${pkgver}"

  install -dm755 ${pkgdir}/usr/lib
  install -dm755 ${pkgdir}/usr/share/licenses/${pkgname}
  install -dm755 ${pkgdir}/usr/share/vulkan/explicit_layer.d
 
  install -m644 build/layersvt/*.so ${pkgdir}/usr/lib

  # fix library paths  
  for i in layersvt/linux/*.json ; do 
    sed 's@./@@' $i > ${pkgdir}/usr/share/vulkan/explicit_layer.d/$(basename $i)
  done

  install -m644 LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgname}/
}
